package com.xidian.zhiancloud.model.workTicket;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 　　* @program zhiancloud
 * 　　* @author Egoist
 * 　　* @create 2021/5/8 15:20
 *
 */
@Data
@TableName("t_electric_ticket")
public class ElectricTicket {

    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 多租户id
     */
    private Long companyId;

    /**
     * 申请后超过30日未完成则废弃 0：有效 1：废弃
     */
    private Integer isWaste;

    /**
     * 作业票类型 3：临时用电票
     */
    private Integer workTicketType;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 当前的步骤
     */
    private Integer currentStep;

    /**
     * 可编辑字段列表
     */
    private String editableField;

    // 1. 申请人填写部分
    /**
     * 危险作业名称
     */
    private String ticketName;

    /**
     * 申请单位
     */
    private Long applicantUnitId;

    /**
     * 申请人
     */
    private Long applicantId;

    /**
     * 申请人填写的姓名
     */
    private String applicantName;

    /**
     * 作业证编号。string类型，自动生成，公司id + 年 + 月 + 日 + 部门 + 作业票类型 + 4位数字
     */
    private String workNumber;

    /**
     * 计划作业开始时间
     */
    private Date expectStartTime;

    /**
     * 计划作业结束时间
     */
    private Date expectEndTime;

    /**
     * 作业人数
     */
    private Integer operatorNumber;

    //2. 作业人填写的小表(ElectricOperator) id字符串, 多个id用逗号隔开
    /**
     * 作业人小表 id 字符串 例如：1,2,3,6 为四个作业人填写的小表
     */
    private String operatorIds;

    //3. 危害辨识
    /**
     * 作业单位危害辨识
     */
    private String operationIdentify;

    /**
     * 危害辨识作业单位签字
     */
    private String operationSign;


    /**
     * 危害辨识作业单位签字时间
     */
    private Date operationSignTime;

    /**
     * 属地单位危害辨识
     */
    private String belongPlaceIdentify;

    /**
     * 危害辨识属地单位签字
     */
    private String belongPlaceSign;

    /**
     * 危害辨识属地单位签字时间
     */
    private Date belongPlaceSignTime;

    /**
     * 送电单位危害辨识
     */
    private String powerTransmissionIdentify;

    /**
     * 危害辨识送电单位签字
     */
    private String powerTransmissionSign;

    /**
     * 危害辨识送电单位签字时间
     */
    private Date powerTransmissionSignTime;

    //4. 作业负责人
    /**
     * 作业负责人签字
     */
    private String workManagerSign;

    /**
     * 作业负责人签字时间
     */
    private Date workManagerSignTime;

    //5. 安全负责人
    /**
     * 安全负责人签字
     */
    private String safeManagerSign;

    /**
     * 安全负责人签字时间
     */
    private Date safeManagerSignTime;

    /**
     * 安全负责人意见
     */
    private String safeManagerOpinion;

    //6. 作业单位负责人签字
    /**
     * 作业单位负责人签字
     */
    private String workDepartmentSign;

    /**
     * 作业单位负责人签字时间
     */
    private Date workDepartmentSignTime;

    /**
     * 作业单位意见
     */
    private String workDepartmentOpinion;

    //7. 配电负责人签字
    /**
     * 配电负责人签字
     */
    private String powerDistributionSign;

    /**
     * 配电负责人签字时间
     */
    private Date powerDistributionSignTime;

    /**
     * 配电负责人意见
     */
    private String powerDistributionOpinion;

    //8. 审核人签字
    /**
     * 审核人签字
     */
    private String reviewerSign;

    /**
     * 审核人签字时间, 同时也是作业实际开始日期
     */
    private Date reviewerSignTime;

    /**
     * 审核人意见
     */
    private String reviewerOpinion;

    //9.1 作业负责人验收
    /**
     * 作业负责人验收签字
     */
    private String workManagerAcceptanceSign;

    /**
     * 作业负责人验收签字时间
     */
    private Date workManagerAcceptanceSignTime;

    /**
     * 作业负责人接受意见
     */
    private String acceptanceOpinion;

    /**
     * 实际结束日期
     */
    private Date realEndTime;

    //9.2 电气当班班长验收
    /**
     * 电气当班班长验收签字
     */
    private String electricLeaderSign;

    /**
     * 电气当班班长验收签字时间
     */
    private Date electricLeaderSignTime;

    //安全措施确认
    /**
     * 安全措施 1-10 确认签字
     */
    private String measure1Sign;
    private String measure2Sign;
    private String measure3Sign;
    private String measure4Sign;
    private String measure5Sign;
    private String measure6Sign;
    private String measure7Sign;
    private String measure8Sign;
    private String measure9Sign;
    private String measure10Sign;

    /**
     * 其他安全措施
     */
    private String otherMeasure;

    /**
     * 其他安全措施编制人签字
     */
    private String otherMeasureEditorSign;

    /**
     * 确认人签字
     */
    private String otherMeasureSign;



    /**
     * 申请人是否提交。0表示仍未编辑，1表示完成编辑。
     */
    private Integer isCommit1 = 0;

    /**
     * 作业人是否全部提交
     */
    private Integer isCommit2 = 0;

    /**
     * 危害辨识作业单位是否提交
     */
    private Integer isCommit3 = 0;

    /**
     * 危害辨识属地单位是否提交
     */
    private Integer isCommit4 = 0;

    /**
     * 危害辨识送电单位是否提交
     */
    private Integer isCommit5 = 0;

    /**
     * 作业负责人是否提交
     */
    private Integer isCommit6 = 0;

    /**
     * 安全教育人是否提交
     */
    private Integer isCommit7 = 0;

    /**
     * 作业单位负责人是否提交
     */
    private Integer isCommit8 = 0;

    /**
     * 配送电单位班长是否提交
     */
    private Integer isCommit9 = 0;

    /**
     * 审批人是否提交
     */
    private Integer isCommit10 = 0;

    /**
     * 作业负责人验收是否提交
     */
    private Integer isCommit11 = 0;

    /**
     * 电气当班班长验收是否提交
     */
    private Integer isCommit12 = 0;

    /**
     * 是否已验收
     */
    private Integer isCommit13 = 0;

}
